/*
 * @Author: 
 * @Date: 2024-07-10
 * @LastEditor: 
 * @LastEditTime: 2025-06-12 09:28:28
 * @Description: 土壤数据实体
 */
import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, UpdateDateColumn } from 'typeorm';

@Entity('tb_soil_data')
export class SoilDataEntity {

    @PrimaryGeneratedColumn()
    id: number;

    // 数据采集时间
    @Column({ type: 'timestamp' })
    time: Date;

    // 水分含量 (%) - 10cm深度
    @Column({ type: 'float', nullable: true })
    moistureAt10cm: number;

    // 水分含量 (%) - 20cm深度
    @Column({ type: 'float', nullable: true })
    moistureAt20cm: number;

    // 水分含量 (%) - 30cm深度
    @Column({ type: 'float', nullable: true })
    moistureAt30cm: number;

    // 水分含量 (%) - 40cm深度
    @Column({ type: 'float', nullable: true })
    moistureAt40cm: number;

    // 水分含量 (%) - 50cm深度
    @Column({ type: 'float', nullable: true })
    moistureAt50cm: number;

    // 水分含量 (%) - 60cm深度
    @Column({ type: 'float', nullable: true })
    moistureAt60cm: number;

    // 水分含量 (%) - 70cm深度
    @Column({ type: 'float', nullable: true })
    moistureAt70cm: number;

    // 水分含量 (%) - 80cm深度
    @Column({ type: 'float', nullable: true })
    moistureAt80cm: number;

    // 水分含量 (%) - 90cm深度
    @Column({ type: 'float', nullable: true })
    moistureAt90cm: number;

    // 水分含量 (%) - 100cm深度
    @Column({ type: 'float', nullable: true })
    moistureAt100cm: number;

    // 地表温度 (℃)
    @Column({ type: 'float', nullable: true })
    surfaceTemperature: number;

    // 土壤温度 (℃) - 10cm深度
    @Column({ type: 'float', nullable: true })
    temperatureAt10cm: number;

    // 土壤温度 (℃) - 20cm深度
    @Column({ type: 'float', nullable: true })
    temperatureAt20cm: number;

    // 土壤温度 (℃) - 30cm深度
    @Column({ type: 'float', nullable: true })
    temperatureAt30cm: number;

    // 土壤温度 (℃) - 40cm深度
    @Column({ type: 'float', nullable: true })
    temperatureAt40cm: number;

    // 土壤温度 (℃) - 50cm深度
    @Column({ type: 'float', nullable: true })
    temperatureAt50cm: number;

    // 土壤温度 (℃) - 60cm深度
    @Column({ type: 'float', nullable: true })
    temperatureAt60cm: number;

    // 土壤温度 (℃) - 70cm深度
    @Column({ type: 'float', nullable: true })
    temperatureAt70cm: number;

    // 土壤温度 (℃) - 80cm深度
    @Column({ type: 'float', nullable: true })
    temperatureAt80cm: number;

    // 土壤温度 (℃) - 90cm深度
    @Column({ type: 'float', nullable: true })
    temperatureAt90cm: number;

    // 土壤温度 (℃) - 100cm深度
    @Column({ type: 'float', nullable: true })
    temperatureAt100cm: number;

    // 电池电量 (%)
    @Column({ type: 'float', nullable: true })
    batteryLevel: number;

    // 创建时间
    @CreateDateColumn()
    createDate: Date;

    // 更新时间
    @UpdateDateColumn()
    updateDate: Date;
}
